草庐IT

javascript - rspec 单击一个跨度

全部标签

ruby-on-rails - 我怎样才能更好地在 RSpec 中进行调试?

我是测试新手,在调试时遇到了问题,就像我通常在模型或Controller中遇到的那样。我已经从工厂创建了一个用户(使用FactoryGirl,如果有区别的话),我很确定创建方法失败是因为保存时的验证。但是,我很想知道如何调试在测试期间实例化的模型。我试过:user.inspectputsuserraiseuser.to_yaml(后者有效,但停止执行其余测试,并且不显示验证错误——它仅证明我尝试实例化的模型存在或不存在。)除了将模型提升为错误外,在测试期间没有调试输出,我唯一能做的另一件事就是跟踪我的测试数据库的日志,看看那里发生了什么,但它看起来很笨拙最好。你会建议什么方法来完成我所

ruby - 我如何在 block 之前的 "expect"更改 rspec 中的某些内容?

我有一个这样构造的测试套件:let(:cat){create:blue_russian_cat}subject{cat}context"emptybowl"dolet!(:bowl){create(:big_bowl,amount:0)}before{meow}#atonof`its`or`it`whichrequire`meow`tobeexecutedbeforemakingassertionits(:status){should==:annoyed}its(:tail){should==:straight}#...#hereIwanttoexpectthatnumberofPet

ruby-on-rails - 工厂女孩/Rspec - "Trait Not Registered"错误

跟随BenWalker的(惊人的)Let'sBuildInstagramWithRails,特别是BDD版本。教程使用FactoryGirl。我在多次测试中遇到以下错误:精简版Failure/Error:post=create(:post,user_id=user.id)ArgumentError:Traitnotregistered:1我什至无法让Ben用cloneofmyrepo重新创建错误,我在StackOverflow的“特征未注册”问题中找不到任何内容。这是我的第一个SO问题,所以如果我在那个前面做错了什么,请告诉我。在此先感谢您的帮助!代码选择:spec/factories

ruby-on-rails - RSpec:多次期待一条消息但参数不同

我目前对连续调用的模拟设置了一些期望:规范:@my_mock=mock("a_mock")@options1={:some=>"option"}@options2={:some_other=>"option"}@first_param=mock("first_param")@my_mock.should_receive(:a_message).with(@first_param,@options1)@my_mock.should_receive(:a_message).with(@first_param,@options2)但是,我得到以下信息:Mock"a_mock"received

ruby - 使用 Ruby 编写一个简单的 Windows 7 GUI 应用程序

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion有没有人使用Ruby为Windows7开发一个简单的GUI应用程序?您使用了哪个GUI框架?我正在考虑将tK或WxRuby用于GUI,并使用Ocra进行打包。我是否也需要安装程序才能在用户机器上安装ruby​​和libs?这对我来说是新

ruby - 如何使用 RSpec should_receive 忽略额外的消息?

规范:beforedoLogger.should_receive(:write).with'Logmessage1'endit'works'doget'/'endSinatra应用程序:get'/'Logger.write('Logmessage1')Logger.write('Logmessage2')end由于“日志消息2”,此规范失败。如何告诉RSpec忽略任何其他消息,只测试预期的消息? 最佳答案 您需要在消息预期之前对将接收消息的方法进行stub。#RSpecstubmethodisdeprecatedinRSpec3,而

ruby - 是否有一个 Rack 中间件可以在没有 cookie 的情况下使用 session ?

Rack自带的session管理中间件都是基于cookie来识别用户的。由于我正在开发一个api,我宁愿将sessionID作为查询字符串参数显式传递。查看代码库,似乎没有考虑这个用例,因为所有session中间件都从一个公共(public)类扩展,读取/写入cookie。所以我的问题是-是否有一个项目维护替代的Rack中间件或Rack内置中间件的猴子补丁,这将允许我维护查询字符串上的sessionID,而不是cookie存储? 最佳答案 Rack可以使用自定义sessionID项代替cookie:require'rack/sess

sql - 具有相同名称列的连接表上的 Rails ".pluck"返回一个值,然后返回 nil

Experimenthas_many:featuresFeaturebelongs_to:experimentExperiment.where("experiments.id=1").joins(:features).pluck("features.id","experiments.id")我希望这会返回每个功能的ID和实验的ID。[[1,1],[2,1],[3,1],#....]相反,这会返回实验的id,然后返回nil[[1,nil],[1,nil],[1,nil],#....]这在三个方面很奇怪:即使它是一个内部联接并且只返回一个实验,我也能够从功能(features.name)中

arrays - 查看另一个字符串中是否包含大量字符串的更快方法

我有一个存储在数组中的大约30万个常用词的列表。因此,数组的1个元素=1个单词。另一方面,我有一个巨大的字符串列表,其中可能包含这30万个单词中的一个或多个。示例字符串为:ifdxawesome453。现在,我需要根据常用词检查这些长字符串中的每一个。如果在该字符串中找到一个单词,则立即返回。因此,我需要再次检查这30万个单词ifdxawesome453并查看其中是否包含任何单词。所以我做的是:huge_list_of_words.any?do|word|random_long_word.include?(word)end虽然这对于随机长单词的小样本来说没问题,但如果我有数百万个单词,

ruby - 从字符串创建一个 ruby​​ Proc

我想将block定义为字符串,然后创建lambda。以下示例不起作用。这样的事情可能吗?code_string="|x|x*2"l=lambda{eval(code_string)}l.call(3)=>6 最佳答案 这行得通eval"lambda{"+code_string+"}"我只是不知道为什么这个有而另一个没有。 关于ruby-从字符串创建一个ruby​​Proc,我们在StackOverflow上找到一个类似的问题: https://stackove